1. Technical Field
This invention relates to methods and apparatus for scanning bar codes and, more particularly, to an easily findable 2-dimensional bar code comprising, a 2-dimensional bar code; and, a 1-dimensional bar code directly associated with the 2-dimensional bar code at a known distance and orientation with respect to a starting location of the 215 dimensional bar code whereby the 1-dimensional bar code acts as a locator for the 2-dimensional bar code.
2. Background Art
Bar codes as a means of encoding information associated with an object in a manner to allow that information to be obtained rapidly and non-invasively are going through a rapid increase in capabilities. They are getting smaller so that they can be attached to small objects. That creates one set of problems for those designing and manufacturing the scanning apparatus that reads and decodes the bar codes. In order to get more information into a smaller area, bar codes are also moving from one dimensional (1D) to two dimensional (2D) configurations.
As depicted in FIG. 1, the typical prior art 1D bar code 10 is comprised of a number of parallel bars 12 and spaces 14. The 1D bar code 10 can be reflectively scanned by a lightbeam 16 moving across it horizontally or at an angle.
2D bar codes such as that generally indicated as 18 in FIG. 2 are another matter altogether when it comes to scanning and decoding them. 2D bar codes come in various configurations as determined by various manufacturers and adopted standards. The 2D bar code 18 of FIG. 2 is representative only and not intended to be an accurate depiction of an actual bar code. While the 1D bar code 10 only has a "left" and "right" and can be scanned at an angle, a general 2D bar code 18 is a collection of symbols, typically squares 20, arranged in a regular pattern, again typically a square or rectangle. An orientation pattern 19 is added to help a reader find and decode the 2D bar code 18. Often, information is present in the orientation pattern 19 to define the extents of the 2D bar code 18 and the type of encoding that is used in the data represented by the 2D bar code 18. The exact nature of these components of the bar code 18 are not necessary to an understanding of the problem and the present invention. Thus, they will not be addressed in any further detail in the interest of simplicity and the avoidance of redundancy. Suffice it to say, a 2D bar code is a complex structure which is difficult to scan according to prior art techniques.
A 2D bar code such as 18 is typically "scanned" with a video device such as a Charge Coupled Device camera. As depicted in FIG. 3, the bar code 18 is viewed within a field of view 36. The contents of each pixel position within the field of view 36 is stored in a corresponding memory position 38 of a computer memory 40 as depicted in FIG. 4. The data of the memory 40 are analyzed by computer finding logic to determine the orientation of the bar code 18 within the field of view 36. The data is then analyzed as if the bar code 18 was properly oriented horizontally from left to right as depicted in FIG. 5. While the process sounds easy and only took a few sentences to describe, it is, in fact, a very lengthy and computationally intensive process. It is so computationally intensive that decoding performance may suffer as a result. For large field of view scanners, the number of pixels in memory may be large compared to the bar code symbol, so the location process of finding the bar code field of view can be time consuming. Most customers of bar code scanners require the bar code to be completely decoded in a second or less. They also want the position of the bar code as scanned to be completely arbitratry as depicted in FIG. 3. Thus, determining the location and the orientation of the bar code 18 within the field of view 36 in a timely manner becomes an important criteria in 2D scanner/decoder design. To aid in the process, some 2D bar codes include an imbedded 2D locator pattern. While such patterns can help with the finding process, they are special patterns and cannot be read by a multitude of readers. Also, it must be appreciated that any non-data matter contained within the 2D bar code takes up valuable area that can be used for data.
In another aspect of 2D bar codes as they exist in the prior art, separate provision must be made if a 2D bar code is to be interpreted in different ways. A switch or selector dial could be provided on the reader as a means of changing the decode logic employed with the bar code. That approach is limited since the switch or selector dial positions must be pre-defined and cannot be changed easily by the user. Another approach employed is to first scan a bar code defining the decode logic to be employed. A 2D bar code that is self-defining as to its associated decode logic would be a more optimum approach.
Wherefore, it is an object of this invention to provide a 2D bar code which is easy to locate with simple and rapid locating logic.
It is another object of this invention to provide a 2D bar code which can be located with simple and rapid pre-existing 1D scanning logic.
It is still another object of this invention to provide a 2D bar code which is self-defining as to its associated decode logic.
It is yet another object of this invention to provide a bar code scanning apparatus which automatically scans and decodes either 1D or 2D bar codes.
It is a further object of this invention to provide a 2D bar code which has a maximum amount of its area available for data.
Other objects and benefits of this invention will become apparent from the description which follows hereinafter when read in conjunction with the drawing figures which accompany it.